PROJ = lsq
SOURCE = src
GENDATA := $(PROJ)_data
DOC = doc
DATA = testdata.txt
IMAGE = output.eps
REF = references.bib
C1 = $(SOURCE)/$(PROJ)
C2 = $(SOURCE)/$(GENDATA)

all: $(PROJ) $(GENDATA) $(DATA) $(PROJ).pdf $(PROJ)_slide.pdf

$(PROJ): $(C1).c
	gcc -o $(PROJ) $(C1).c

$(GENDATA): $(C2).c
	gcc -o $(GENDATA) $(C2).c

$(DATA): $(GENDATA)
	./$(GENDATA)
	./$(PROJ)

$(IMAGE): $(DATA)
	gnuplot $(SOURCE)/$(PROJ).gp

$(PROJ).pdf: $(DOC)/$(PROJ).tex $(IMAGE) $(DOC)/$(REF)
	xelatex -output-directory=doc $(DOC)/$(PROJ)
	bibtex $(DOC)/$(PROJ)
	xelatex -output-directory=doc $(DOC)/$(PROJ)
	xelatex -output-directory=doc $(DOC)/$(PROJ)

$(PROJ)_slide.pdf: $(DOC)/$(PROJ)_slide.tex $(IMAGE)
	xelatex -output-directory=doc $(DOC)/$(PROJ)_slide

exe: $(PROJ)

doc: $(PROJ).pdf
clean:
	rm -rf ./doc/*.aux ./doc/*.bbl ./doc/*.blg ./doc/*.log ./doc/*.out ./doc/*.pdf ./doc/*.toc \
	*.aux *.bbl *.blg *.log *.out *.doc *.toc *.pdf \
	$(PROJ) $(GENDATA) $(DATA) $(IMAGE) \
	*.nav *.snm *.dat

.PHONY: all clean exe doc

